package cn.kgc.api.service;

import cn.kgc.api.vo.RouterVo;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.kgc.api.entity.Menus;

import java.util.List;
import java.util.Map;

/**
 * @author kgc
 */
public interface MenusService extends IService<Menus> {

    /**
     * 获得用户的所有路由信息
     * @return List<RouterVo>
     */
    List<RouterVo> getAllRouters();

    /**
     * 获得用户拥有的权限标识符信息
     * @return List<String>
     */
    List<String> getButtonPerms();

    /**
     * 获得所有菜单信息
     * @param params  参数信息
     * @return  List<Menus>
     */
    List<Menus> getAllMenus(Map<String,String> params);

    /**
     * 获得菜单数量
     * @param menuName  菜单名称
     * @param parentId  父级菜单id
     * @return  int
     */
    int count(int parentId,String menuName);

    /**
     * 根据传入的角色ID获得角色对应的菜单信息
     * @param roleId 角色编号
     * @return 角色对应的菜单信息
     */
    List<Menus> getRoleMenus(int roleId);


    boolean updateRoleMenu(Map<String,Object> params);

}
